The parallel execution of modules of source code lead to overall execution performance enhancement, provided such parallel execution opportunities exist in the existing code base. To achieve this, the programmer needs to identify the opportunities of parallel execution in existing code and create an annotation process by which such opportunities are easily demarcated in existing legacy code bases which can potentially be very large. Such demarcation through a form of automated annotation would help the analyzer to clearly identify how to re-modularize the code base so that the identified parallel execution opportunities are realized in the modified code.
Existing technologies may identify a potential benefit of parallel execution from existing code and represent this information in a graphical format, e.g. in a directed acyclic graph, but that is at a fine grained level constrained to blocks and sub routines. Additionally, the existing state of the art is limited to applying the techniques related to parallel execution at compiler level for unit of code blocks such as program files, classes and sub-routines.
US 20080300851 discloses assessing the performance of a software application migrated to a grid infrastructure, and describes how dependencies between one or more blocks can be represented in a directed acyclic graph. However, tracing the block denoted by one or more nodes of the directed acyclic graph in a large source code is error prone and expensive. There is no method for tracing an exact place in the application source code which the nodes of the directed acyclic graph denote. This problem may be solved by demarcating one or more block information in the application source code by automated annotation.